# -*- coding: utf-8 -*-
# standard
import os
import sys

# third
from celery.result import AsyncResult

# local
_P_PATH = os.path.dirname(os.path.realpath(__file__))
if _P_PATH not in sys.path:
    sys.path.append(_P_PATH)
from models.celery_conf import *


"""
@Title:   
@File: celery_tools.py
@Author: walle 2025年01日08日 14时49分03秒
@Version: 1.0.0
@Desc: 
"""


def print_tasks():
    for k, task in CELERY_APP.tasks.items():
        print(task)


def invoke_task(task_id: str):
    task_id = 'some-task-id'  # 要撤销的任务的 ID
    async_result = AsyncResult(task_id, app=CELERY_APP)

    async_result.revoke(terminate=True)  # terminate=True 表示如果任务正在执行，则尝试终止它（这取决于 worker 和操作系统是否支持）


if __name__ == '__main__':
    invoke_task("OutPushTask-1")
    pass